package br.com.msystem.biblioteca.vo;
// Generated 01/03/2012 01:28:16 by Hibernate Tools 3.4.0.CR1


import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * EmprestarMaterialBibliografico generated by hbm2java
 */
@Entity
@Table(name="emprestar_material_bibliografico"
    ,catalog="biblioteca"
)
public class EmprestarMaterialBibliografico  implements java.io.Serializable {


     /**
	 * 
	 */
	private static final long serialVersionUID = 5688143118439342142L;
	private Integer idEmprestarMaterialBibliografico;
     private Usuario usuario;
     private MaterialBibliografico materialBibliografico;
     private Date dataEmprestimo;
     private Date dataDevolucaoPrevista;
     private Date dataDevolucaoEfetiva;

    public EmprestarMaterialBibliografico() {
    }

	
    public EmprestarMaterialBibliografico(Usuario usuario, MaterialBibliografico materialBibliografico, Date dataEmprestimo, Date dataDevolucaoPrevista) {
        this.usuario = usuario;
        this.materialBibliografico = materialBibliografico;
        this.dataEmprestimo = dataEmprestimo;
        this.dataDevolucaoPrevista = dataDevolucaoPrevista;
    }
    public EmprestarMaterialBibliografico(Usuario usuario, MaterialBibliografico materialBibliografico, Date dataEmprestimo, Date dataDevolucaoPrevista, Date dataDevolucaoEfetiva) {
       this.usuario = usuario;
       this.materialBibliografico = materialBibliografico;
       this.dataEmprestimo = dataEmprestimo;
       this.dataDevolucaoPrevista = dataDevolucaoPrevista;
       this.dataDevolucaoEfetiva = dataDevolucaoEfetiva;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="id_emprestar_material_bibliografico", unique=true, nullable=false)
    public Integer getIdEmprestarMaterialBibliografico() {
        return this.idEmprestarMaterialBibliografico;
    }
    
    public void setIdEmprestarMaterialBibliografico(Integer idEmprestarMaterialBibliografico) {
        this.idEmprestarMaterialBibliografico = idEmprestarMaterialBibliografico;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_usuario", nullable=false)
    public Usuario getUsuario() {
        return this.usuario;
    }
    
    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_material_bibliografico", nullable=false)
    public MaterialBibliografico getMaterialBibliografico() {
        return this.materialBibliografico;
    }
    
    public void setMaterialBibliografico(MaterialBibliografico materialBibliografico) {
        this.materialBibliografico = materialBibliografico;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="data_emprestimo", nullable=false, length=19)
    public Date getDataEmprestimo() {
        return this.dataEmprestimo;
    }
    
    public void setDataEmprestimo(Date dataEmprestimo) {
        this.dataEmprestimo = dataEmprestimo;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="data_devolucao_prevista", nullable=false, length=19)
    public Date getDataDevolucaoPrevista() {
        return this.dataDevolucaoPrevista;
    }
    
    public void setDataDevolucaoPrevista(Date dataDevolucaoPrevista) {
        this.dataDevolucaoPrevista = dataDevolucaoPrevista;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="data_devolucao_efetiva", length=19)
    public Date getDataDevolucaoEfetiva() {
        return this.dataDevolucaoEfetiva;
    }
    
    public void setDataDevolucaoEfetiva(Date dataDevolucaoEfetiva) {
        this.dataDevolucaoEfetiva = dataDevolucaoEfetiva;
    }




}


